// 路由配置选择
// 项目比较小, 可以采用约定式路由 (根据目录中文件规范创建目录)
// 项目比较大，建议采用配置项
import { createRouter, createWebHistory } from "vue-router";

// 通过文件得到路由 (类似于 webpack 中 reuire.context 动态获取目录中文件)
const getRoutes = () => {
  const files = import.meta.glob("../views/*.vue"); // 获取目录下所有文件 (注意这里能使用 glob 是因为 env.d.ts 定义过)
  return Object.entries(files).map(([file, module]) => {
    const name = file.match(/\.\.\/views\/([^.]+?)\.vue/i)?.[1];
    return {
      name: name?.toLowerCase(),
      path: "/" + name?.toLowerCase(),
      component: module
    };
  });
};

export default createRouter({
  history: createWebHistory(),
  // routes: [  // 自定义配置项
  //   {
  //     name: "Home",
  //     path: "/home",
  //     component: () => import("../views/Home.vue")
  //   },
  //   {
  //     name: "About",
  //     path: "/about",
  //     component: () => import("../views/About.vue")
  //   }
  // ]
  routes: getRoutes()
});
